
#include "register/tilingdata_base.h"

namespace optiling {
BEGIN_TILING_DATA_DEF(ReflectionPad1dTilingData)
    TILING_DATA_FIELD_DEF(uint32_t, wSize);                // 目标维度大小
    TILING_DATA_FIELD_DEF(uint32_t, alignWSize);           // 目标维度32字节对齐后大小
    // 填充参数
    TILING_DATA_FIELD_DEF(uint32_t, padLeft);              // 左填充量
    TILING_DATA_FIELD_DEF(uint32_t, padRight);             // 右填充量
    // 分核与UB参数
    TILING_DATA_FIELD_DEF(uint32_t, blockNum);             // 实际使用核心数
    TILING_DATA_FIELD_DEF(uint32_t, ncPerCore);            // 每核处理的N×C任务数
    TILING_DATA_FIELD_DEF(uint32_t, tailNC);               // 尾任务数
    TILING_DATA_FIELD_DEF(uint32_t, ubElementNum);         // UB可容纳元素数
    TILING_DATA_FIELD_DEF(uint32_t, tilingKey);            // 优化策略标识
    // 工作空间参数
    TILING_DATA_FIELD_DEF(uint64_t, workspacePerCore);     // 每核工作空间大小
END_TILING_DATA_DEF;

REGISTER_TILING_DATA_CLASS(ReflectionPad1d, ReflectionPad1dTilingData)
} // namespace optiling
